<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Promise.all</title>
</head>
<body>
    <script>
        /**
         * Promise.all   all 是属于 Promise 函数对象的. 作用: 批量处理 promise 对象, 批量异步任务处理
         *      参数:     promise 数组   [p1, p2, p3]
         *      返回结果: promise 实例对象
         *          成功: 当数组中所有 promise 都为成功时, 则返回的 promise 为成功, 成功的结果值: 所以promise对象成功结果值形成的数组
         *          失败: 当数组中存在失败 promise 的时候, 则返回的 promise 为失败, 失败的结果值: 最先改变失败状态的 promise, 它失败的结果值
         */
        
        let p1 = new Promise((resolve, reject) => {
            resolve('ok');
        });

        // let p2 = Promise.resolve('Success');
        let p2 = Promise.reject('NoNoNo');
        
        let p3 = new Promise((resolve, reject) => {
            // resolve('Yeah');
            setTimeout(() => {
                reject('NGNGNG')
            }, 100);
        });

        //调用 all 方法
        let result = Promise.all([p1, p2, p3]);

        console.log(result);

    </script>
</body>
</html>